//80.删除有序数组中的重复项II
//https://leetcode.cn/problems/remove-duplicates-from-sorted-array-ii/?envType=study-plan-v2&envId=top-interview-150
class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        int n = nums.size();
        if(n <= 2) return n;
        int cur = 2, pos = 2;
        while(pos < n)
        {
            //检测前两个元素的第一个是否与第三个相等 如果不相等则保留第三个位置的值
            //保证cur前面的值都是不超过两个的
            //如果pos当前的数与cur-2相等 则超过了三个
            if(nums[cur-2] != nums[pos]) 
            {
                nums[cur] = nums[pos];
                ++cur; 
            }
            ++pos;
        }
        return cur;
    }
};